package com.springboot.springboot4.config;

import com.springboot.springboot4.interceptor.LoginInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @ClassName:
 * @author: CKC
 * @DateTime: 2021/1/30 9:52
 * <p>
 * 1、编写一个拦截器实现HandlerInterceptor接口
 * 2、拦截器注册到容器中（实现webMvcConfigurer 的addInterceptors )
 * 3、指定拦截规则【如果是拦截所有，静态资源也会被拦截】
 * @EnableWebMvc 全面接管springMVC   慎用
 * 1.静态资源？视图解析器？欢迎页。。。。。全部失效
 */


@Configuration
public class WebConfig implements WebMvcConfigurer {
    /**
     * 使用了@EnableWebMvc时
     * 定义静态资源行为
     *
     * @param registry
     */
//    @Override
//    public void addResourceHandlers(ResourceHandlerRegistry registry) {
//
//        /**
//         * 访问 /aa/**  所有请求都去  classpath:/static/ 下面去访问
//         */
//        registry.addResourceHandler("/aa/**").addResourceLocations("classpath:/static/");
//        //静态资源访问测试   http://127.0.0.1:8080/aa/css/style.css
//    }
    
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoginInterceptor())
                .addPathPatterns("/**")
                /**所有请求都会被拦截*/
                .excludePathPatterns("/", "/login", "/css/**", "/fonts/**", "/images/**", "/js/**", "/aa/**");
                /**放行的请求*/
    }
    
}
